from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

import config

conn_url = "mysql+pymysql://{username}:{password}@{host}:{port}/{database}?charset=utf8".format(
    username=config.get_config('MYSQL', 'username'), password=config.get_config('MYSQL', 'password'),
    host=config.get_config('MYSQL', 'host'), port=config.get_config('MYSQL', 'port'),
    database=config.get_config('MYSQL', 'database'))

engine = create_engine(
    conn_url,
    max_overflow=5,  # 超过连接池大小外最多创建的连接，为0表示超过5个连接后，其他连接请求会阻塞 （默认为10）
    pool_size=1,  # 连接池大小（默认为1）
    pool_timeout=30,  # 连接线程池中，没有连接时最多等待的时间，不设置无连接时直接报错 （默认为30）
    pool_recycle=-1)  # 多久之后对线程池中的线程进行一次连接的回收（重置） （默认为-1）
Session = sessionmaker(bind=engine)
